package com.example.demo.service;

import com.example.demo.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demo.pojo.query.UserQuery;
import com.example.demo.pojo.vo.UserVo;
import com.example.demo.pojo.dto.DeleteDto;
import com.example.demo.pojo.dto.add.UserAddDto;
import com.example.demo.pojo.dto.update.UserUpdateDto;
import com.example.demo.pojo.vo.PageVo;
import com.github.pagehelper.PageInfo;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;


/**
 * <p>
 * 系统用户信息表 服务类
 * </p>
 *
 * @author tds
 * @since 2021-09-30
 */
public interface IUserService extends IService<User> {

    /**
    * 系统用户信息表的分页查询
    *
    * @param query
    * @return
    */
//    @Validated(value = {IUserService.class})
//    @NotNull(groups = {IUserService.class})
    PageVo<UserVo> queryPage(@Valid UserQuery query);

    /**
    * 新增系统用户信息表
    *
    * @param addDto
    */
    void save(UserAddDto addDto);

    /**
    * 修改系统用户信息表
    *
    * @param updateDto
    */
    void update(UserUpdateDto updateDto);

    /**
    * 删除多条系统用户信息表
    *
    * @param deleteDto
    */
    void delete(DeleteDto deleteDto);

}
